import { ReactNode } from 'react'; import { HeaderV2 } from '@/components/layout/HeaderV2'; import { SiteFooter } from '@/components/layout/Footer'; import { getServerSession } from "next-auth"; import { authOptions } from "@/app/api/auth/[...nextauth]/route"; import { verifyNonsapPermission } from "@/lib/nonsap/auth-service"; import { PermissionChecker } from "@/components/common/permission-checker"; export default async function EvcpLayout({ children }: { children: ReactNode }) { const session = await getServerSession(authOptions); let isAuthorized = true; let authMessage = ""; // Skip permission check if environment variable is set const skipPermissionCheck = process.env.SKIP_ORACLE_PERMISSION_CHECK === 'true'; // Only check permission if user is logged in and check is not skipped if (session?.user?.id && !skipPermissionCheck) { try { const result = await verifyNonsapPermission( parseInt(session.user.id), // ['SEARCH'] [] // 아무런 실제 권한이 없어도, 등록된 상태라면 화면에 'SEARCH' 권한이 있는것처럼 동작하게 해달라고 함. (김희은 프로) ); isAuthorized = result.authorized; authMessage = result.message || ""; } catch (error) { console.error("Permission check failed:", error); // Default to true in case of error to avoid blocking access due to system error // but logic could be changed to false for strict security isAuthorized = true; authMessage = "Permission check error"; } } return (